PolkaBase【技术驱动】第二期精选:Rust、跨链与自由万维网的开源技术
12月4日,PolkaBase的第二期分享会【技术驱动】,再次在ITC顺利举行,本次分享会以开源技术为主题,面向开发者,新一代比特币Grin社区、Rust语言Rust CC社区(CypherLink创始人)、自由万维网SoLiD中文社区介绍了目前开源技术中最前沿的Rust语言、跨链技术、MimbleWimble协议、自由万维网等内容。
Grin社区
比特币的升级版协议
XiaoJay:独立开发者,开发了Grin钱包Niffler,中文区块浏览器和支付插件GrinPay,同时是Grin中国社区创始成员之一。
比特币有一些缺点
1. 比特币可扩展性低,全节点需要下载完整的约250GB的历史账本数据;2. 现有的比特币的隐私匿名性也并不如想象中的好,由于地址和转账金额是公开的,通过复杂的数据分析技术,有可能根据这些转账历史分析出地址对应的交易双方身份,用户的隐私性和交易的匿名性因此可能受到威胁;3. 比特币马上就面临减半,这样减半下去,当区块奖励无法支撑算力时,生态该如何维持下去。
事实上比特币的这些缺点的确存在着优化的办法,不仅可以使得原本需要下载的巨量历史账本数据缩小为50GB,显著减少存储空间和带宽使用,而且还可以提供更强的隐私性,这个强大的技术就是MimbleWimble。
最初,化名为 Tom Elvis Jedusor(哈利玻特里的伏地魔)的开发者发布了最早版本的MimbleWimble协议概述。采用了比特币的主要架构、增加了保密交易和交易合并机制(cut-through),为比特币添加了隐私交易功能。虽然这一提议最终没有被比特币社区所采纳,但它发展为了之后的Grin项目。
什么是Mimblewimble?
Mimblewimble提出了一种新的区块链交易结构,透过椭圆曲线加密技术(Exploring Elliptic Curve,ECC),成功隐藏了交易双方是谁,但能够验证所有权;同时也隐藏了交易金额,但能确定发送的币和接受的币价值相等。
椭圆曲线的概念很简单:要乘出两个数的积是多少很容易,但看到一个数要拆解成唯一两个乘他的因子却很困难。
Pedersen Commitment是用来确保交易值正确,同时能够隐藏金额的方法。利用椭圆曲线,外加一个来捣乱的很大很大的数字混淆交易值,确保只有交易中的发送方和接收方知道交换的金额,在一个MimbleWimble交易中,总共会有两个Pedersen Commitment,一个用来记录进入交易的货币数;另个则用来记录交易输出的货币数。
MimbleWimble的区块链浏览器没有地址,没有交易金额,也没有单笔交易的细节。
对于扩展性问题,则是通过Cut-through的方式,去压缩链上面所需存储的数据,并且保证总输入等于总输出。简单来说,就是不记录转账过程中的中间输出,而仅仅记录中间变化和最终输出。当产生越多交易时,其实就能够减少更多的储存资料,让整个区块能变得更紧凑、更有扩展性,因为整个区块传输的资料都变得很小:
对于比特币大小的区块链,几个G字节大小的数量级,可能优化到几百兆字节。
当新节点加入时,需要同步的信息量也非常小。
Grin是MimbleWimble协议的一个实现,旨在成为一个可扩展的隐私区块链,它使用开源语言Rust,并采用完全公开的社区协作模式。没有公募私募,没有创始人奖励,没有预挖,每周二晚上Gitter线上开发/治理会议,对所有人开放。
这是一个开源项目,不用许可,每个人都可以参与进来:
github.com/mimblewimble/
Rust CC社区
跨链之路的演进
Sun:Rust CC社区开发者,TDN作者CypherLink(cypherlink.io)联合创始人。
什么是跨链技术?
信息在相互独立的区块链系统中,传递和交互的方式叫做跨链,比如以太坊和BTC系统之间的信息传递,而更广义来说,可以是区块链系统到其他系统的传递,比如以太坊、BTC到微信系统、淘宝系统的信息传递。跨链不仅是在区块链中存在,也有可能在中心化的系统中存在。而在信息化的时代中,个人使用不同的系统,可以看作为一个跨链的中心。
早期的跨链思想有以下3种
1. 公证人机制:两个持有不同系统价值代币的人,需要通过交易所进行交换,交易所就是一个公证人的角色。交易所是中心化的;也有担任同样角色的非中心化的系统,比如瑞波。
2. 侧链/中继:侧链可以被看作是在区块链协议上的一个功能,比如在BTC系统中,一个侧能等同于其一个节点,但这个节点可能有一些原有系统中没有的功能,比如更好的性能。中继则是两个系统通过某种方式连接,也是目前波卡Polkadot和Cosmos使用的方式。
3. 哈希锁定:哈希锁定是闪电网络使用的技术。使用哈希锁定将发起方的交易代币进行锁定,并通过时间锁定让接收方在某个约定的时刻前生成支付的密码学证明(私钥),并与先前约定的哈希值一致,则可完成交易。
目前的跨链方案则有2种:
1. 分布式私钥控制:在之前提到的中间人角色作为跨链中间点的过程中,跨链交易变成一个需要锁定和解锁的操作,通过私钥对原有链上的代币进行管理权的操作,这种实现分布式控制权的操作需要用到的就是分布式的私钥控制。
2. 混合技术:就是由几种而非单一的跨链技术结合的方式。
现在流行的Polkadot的平行链,或者Cosmos的Hub,都是将一条链作为跨链的“链”,这个链是跨链的中心,但我们认为区块链中不需要这样一种中心点,只需要能够沟通的方式。
我们设计的TDN的跨链技术,它的网络拓扑结构是可递归的单向图模型,而非有一个中心的主要链来沟通,可以理解为一个DAG网络,只是网络中的每一个节点都是区块链或者服务。它支持不同的数据结构、不同的共识算法、不同的许可机制和账号体系,且应用之间可以相互沟通,信任可以传递和积累。在这个系统中,上下层应用间通过RPC接口沟通,而这些应用可以是联盟链,也可以是公链。或者是中心服务。
放到生活中,我们觉得每个人都应该有一个分布式系统,这个分布式系统和外界的购物系统、消息系统、健康分析系统等有信息的沟通,而每个人的分布式系统之间可以进行跨系统的沟通。这也是我认为目前区块链应用最应该关注的方向,他不应该是聚焦在某个主链上,而是应该将每个人作为一个单独的节点,做一个可以沟通的设计,这才是最本质的落地。
SoLiD中文社区
万维网之父的数据主权革命
谢扬:蒸汽记忆创始人,SoLiD中文社区发起人,曾任好东西传送门CTO、字节跳动Hacker。
互联网的现状,是个人隐私的极度不安全。Facebook的5000万用户数据泄露,影响了美国大选,今天又爆出了7000页的文件,暴露了Facebook如何利用用户数据获利和打击对手。
我们的目的是依托SoLiD,重构【人与应用】以及【人与数据】的关系。
由麻省理工大学主导的SoLiD项目是万维网之父TimBerners-Lee爵士发起的重塑互联网项目。近年来网上频繁发生数据泄露丑闻和公众隐私安全质疑,使得Lee爵士对目前过于寡头化的互联网不满,他成立了SoLiD,尝试带来全新的Web应用开发范式,目的是将数据归还于用户所有和控制,并由用户授权哪些人和哪些应用能够读写自己的数据。
Lee爵士曾经做出的最重要的决定,是免费发布互联网的源代码,使Web成为一个开放,民主的平台。Web的初衷是每个人都可以对任何事情做评论,都有自己的Web空间,不需要去做任何妥协,我们可以访问无穷无尽的网站,并在这些网站里发表评论和观点。
每个人也可以通过Web将自己的伟大想法分发到全世界,开发者不需要获得任何人的许可就可以随时随地发布自己的创意,而不是像现在,开发的程序要被App Store和微信审核。
当然现在很多技术和公司,为我们的生活提供了很大便利。但现在我们在微信和微博上的个人内容,我们已经失去了控制权,加上越来越严重的隐私问题,严重影响了Web的通用性,许多应用都强制性地要求通过微信登录等第三方应用登录方式。而不同社交媒体和社交关系之间又壁垒森严,无法自由移动。
SoLiD的作用就是从公司收回Web并将其返回到个人用户的手里;使用Solid,用户可以自行决定数据被保存和分享在哪里,数据的位置控制权在用户手上。在控制自己数据的情况下,无限制切换和使用他们需要的应用,或授权给任何人和任何应用。这种应用和数据分离后的Web将驱动新一轮创新。
每个人都可以搭建SoLiD服务器或使用SoLiD开发应用,对于开发者来说,有以下特点:其应用拥有多个后端,一个后端与多个应用进行交互;SoLiD使用Linked Data和RDF解决互操作性问题;使用JSON-LD,每片数据都可以和另一片数据进行互联;数据片段和他们的语义化实现了互相兼容;不同的数据源都可以被串联起来;兼容了React生态等。
这个项目本身要实现,是非常困难的,但我们认为其意义是重要的。我们认为互联网的发展就好像人类发展的缩影,采集类的部落社会就如同博客和个人网站的开垦路,之后农业革命的代表就是FLAG、BAT,未来的工业革命就是云计算、AI、区块链,在这个发展方向上,数据民主是必然之路。数据最终会成为我们生命的一部分,我们不再只有物理生命,也是一种数据生命,当这样的生命诞生时,你是想要自己掌控自己的数据,还是想让一个人可以随意篡改你的数据呢?
作为波卡生态上的技术与应用社区,PolkaBase致力于打造一个能推动区块链技术与应用落地、产生优质内容和产品价值、并吸引区块链行业外部资源与团队的新一代社区;在技术普及、生态孵化、高校与产业联合、价值用户和国际化五大方面,弥补现有社群的不足,推动生态的深化与发展。
本次【技术驱动】分享会,PolkaBase与国内几大开发者社区的核心成员难得地聚集在一起,分享了前沿技术的硬核问题,而有意思的是,技术虽然各不相同,却或多或少地都围绕着数据沟通和保密的问题。可见在这个时代,开放和隐私的兼容是最大的网络问题。
三个小时内,现场就开源、Web3.0、跨链技术与区块链领域的数据和应用问题进行了有趣的拓展,也诞生了不少灵感的火花。我们希望让传统开发者理解开源的魅力,也希望让已经在这一领域的开发者充分利用社区平台进行互相协作和交流,毕竟这才是开源的本质,让每个人都能通过技术进行对话而不必有隔阂。
除了到场的一些社区,PolkaBase在国内与开源社、CSDN、DoraHacks等致力于开源技术发展的社区也有许多合作,将在未来继续关注开源和跨链技术在国内的推广与落地,为技术社区持续带来新鲜的活力。
作者 / 修齐
编辑 / 燕婷
关于PolkaBase
PolkaBase是以波卡技术为基础的区块链3.0生态,致力于打造一个能推动区块链技术与应用落地、产生优质内容和产品价值、并吸引区块链行业外部资源与团队的新一代社区;在技术普及、生态孵化、高校与产业联合、价值用户和国际化五大方面,弥补现有社群的不足,推动生态的深化与发展。